﻿using System;
using System.Collections.Generic;
using System.Text;

namespace vJine.Core.ORM.Adapters {
    public partial class SQLite : IDbAdapter<SQLite> {
        static List<string> _KeyWords = new List<string>();
        /// <summary>
        /// http://www.sqlite.org/lang_keywords.html
        /// </summary>
        static void Init_Keywords() {
            _KeyWords.Add("ABORT");
            _KeyWords.Add("ACTION");
            _KeyWords.Add("ADD");
            _KeyWords.Add("AFTER");
            _KeyWords.Add("ALL");
            _KeyWords.Add("ALTER");
            _KeyWords.Add("ANALYZE");
            _KeyWords.Add("AND");
            _KeyWords.Add("AS");
            _KeyWords.Add("ASC");
            _KeyWords.Add("ATTACH");
            _KeyWords.Add("AUTOINCREMENT");
            _KeyWords.Add("BEFORE");
            _KeyWords.Add("BEGIN");
            _KeyWords.Add("BETWEEN");
            _KeyWords.Add("BY");
            _KeyWords.Add("CASCADE");
            _KeyWords.Add("CASE");
            _KeyWords.Add("CAST");
            _KeyWords.Add("CHECK");
            _KeyWords.Add("COLLATE");
            _KeyWords.Add("COLUMN");
            _KeyWords.Add("COMMIT");
            _KeyWords.Add("CONFLICT");
            _KeyWords.Add("CONSTRAINT");
            _KeyWords.Add("CREATE");
            _KeyWords.Add("CROSS");
            _KeyWords.Add("CURRENT_DATE");
            _KeyWords.Add("CURRENT_TIME");
            _KeyWords.Add("CURRENT_TIMESTAMP");
            _KeyWords.Add("DATABASE");
            _KeyWords.Add("DEFAULT");
            _KeyWords.Add("DEFERRABLE");
            _KeyWords.Add("DEFERRED");
            _KeyWords.Add("DELETE");
            _KeyWords.Add("DESC");
            _KeyWords.Add("DETACH");
            _KeyWords.Add("DISTINCT");
            _KeyWords.Add("DROP");
            _KeyWords.Add("EACH");
            _KeyWords.Add("ELSE");
            _KeyWords.Add("END");
            _KeyWords.Add("ESCAPE");
            _KeyWords.Add("EXCEPT");
            _KeyWords.Add("EXCLUSIVE");
            _KeyWords.Add("EXISTS");
            _KeyWords.Add("EXPLAIN");
            _KeyWords.Add("FAIL");
            _KeyWords.Add("FOR");
            _KeyWords.Add("FOREIGN");
            _KeyWords.Add("FROM");
            _KeyWords.Add("FULL");
            _KeyWords.Add("GLOB");
            _KeyWords.Add("GROUP");
            _KeyWords.Add("HAVING");
            _KeyWords.Add("IF");
            _KeyWords.Add("IGNORE");
            _KeyWords.Add("IMMEDIATE");
            _KeyWords.Add("IN");
            _KeyWords.Add("INDEX");
            _KeyWords.Add("INDEXED");
            _KeyWords.Add("INITIALLY");
            _KeyWords.Add("INNER");
            _KeyWords.Add("INSERT");
            _KeyWords.Add("INSTEAD");
            _KeyWords.Add("INTERSECT");
            _KeyWords.Add("INTO");
            _KeyWords.Add("IS");
            _KeyWords.Add("ISNULL");
            _KeyWords.Add("JOIN");
            _KeyWords.Add("KEY");
            _KeyWords.Add("LEFT");
            _KeyWords.Add("LIKE");
            _KeyWords.Add("LIMIT");
            _KeyWords.Add("MATCH");
            _KeyWords.Add("NATURAL");
            _KeyWords.Add("NO");
            _KeyWords.Add("NOT");
            _KeyWords.Add("NOTNULL");
            _KeyWords.Add("NULL");
            _KeyWords.Add("OF");
            _KeyWords.Add("OFFSET");
            _KeyWords.Add("ON");
            _KeyWords.Add("OR");
            _KeyWords.Add("ORDER");
            _KeyWords.Add("OUTER");
            _KeyWords.Add("PLAN");
            _KeyWords.Add("PRAGMA");
            _KeyWords.Add("PRIMARY");
            _KeyWords.Add("QUERY");
            _KeyWords.Add("RAISE");
            _KeyWords.Add("REFERENCES");
            _KeyWords.Add("REGEXP");
            _KeyWords.Add("REINDEX");
            _KeyWords.Add("RELEASE");
            _KeyWords.Add("RENAME");
            _KeyWords.Add("REPLACE");
            _KeyWords.Add("RESTRICT");
            _KeyWords.Add("RIGHT");
            _KeyWords.Add("ROLLBACK");
            _KeyWords.Add("ROW");
            _KeyWords.Add("SAVEPOINT");
            _KeyWords.Add("SELECT");
            _KeyWords.Add("SET");
            _KeyWords.Add("TABLE");
            _KeyWords.Add("TEMP");
            _KeyWords.Add("TEMPORARY");
            _KeyWords.Add("THEN");
            _KeyWords.Add("TO");
            _KeyWords.Add("TRANSACTION");
            _KeyWords.Add("TRIGGER");
            _KeyWords.Add("UNION");
            _KeyWords.Add("UNIQUE");
            _KeyWords.Add("UPDATE");
            _KeyWords.Add("USING");
            _KeyWords.Add("VACUUM");
            _KeyWords.Add("VALUES");
            _KeyWords.Add("VIEW");
            _KeyWords.Add("VIRTUAL");
            _KeyWords.Add("WHEN");
            _KeyWords.Add("WHERE");

        }
    }
}
